[toc]
python基础二十四 面向对象初识
1.面向过程与面向对象
1.1 什么是面向过程?
1.1.1 面向过程概念
在未学习面向对象之前写的代码都算是面向过程
例如,想要实现一个功能,分析出解决问题所需要的步骤,然后用代码或者函数逐一实现,并按照代码顺序调用,这就是面向过程
1.1.2 面过程优缺点
优点
- 性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素
缺点
- 维护性、复用行、扩展性较差
1.2 什么是面向对象?
1.2.1 面向对象概念
-
面向对象的程序设计的核心是对象(上帝式思维),要理解对象为何物,必须把自己当成上帝,上帝眼里世间存在的万物皆为对象,不存在的也可以创造出来
-
⾯向对象思维, 要⾃⼰建立对象. ⾃⼰建立场景. 你是就是⾯向对象世界中的上帝. 你想让⻋⼲嘛就⼲嘛. 你想让⼈⼲嘛⼈就能⼲嘛
1.2.2 面向对象优缺点
优点
-
是一类相似功能函数的集合,使你的代码更清晰化,更合理化
-
易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护
缺点
- 性能比面向过程低
1.2.3 面向对象特点
特点
1.程序设计的重点在于数据而不是过程;
2.程序被划分为所谓的对象;
3.数据结构为表现对象的特性而设计;
4.函数作为对某个对象数据的操作,与数据结构紧密的结合在一起;
5.数据被隐藏起来,不能为外部函数访问;
6.对象之间可以通过函数沟通;
7.新的数据和函数可以在需要的时候轻而易举的添加进来;
8.在程序设计过程中遵循由下至上(bottom-up)的设计方法。
2.类与对象
2.1 什么是类?
2.1.1 类的概念
对象的抽象,一类事物的总称
具有相同属性和功能的一类事物
2.1.2 类的说明
类:就是具有相同属性和功能的一类事物,比如,狗类、猫类、人类
狗类中的金毛、猫类中的橘猫、人类中的男人、女人就是具体的对象
汽车,车有轮胎、发动机、方向盘等等,车就是类
人,人有思想、名字、年龄、爱好、性别,人就是类